Estudiantes:
Curso: Fundamento de R para CCSS y Gestión Pública 2023
Diplomatura: Especialización en Ciencia de Datos para las Ciencia Sociales y la Gestión Pública
En los últimos años, …
Ante la ingente cantidad de datos …
El presente trabajo persigue el siguiente objetivo:
Utilizar …
library(tidyverse) #conjunto de paquetes
library("labelled") #Paquete para ver las etiquetas de las variables
# #Creando las bases de datos
# df1 <- haven::read_sav("01. Data/CARATULA/01_PENALES_CARATULA.sav")
# df2 <- haven::read_sav("01. Data/CONDICIONES DE VIDA DEL INTERNO/01_PENALES_CAP300.sav")
# df3 <- haven::read_sav("01. Data/CONDICIONES DEL INTERNO/01_PENALES_CAP100.sav")
# df4 <- haven::read_sav("01. Data/ROL DE LAS INSTITUCIONES/01_PENALES_CAP400.sav")
# df5 <- haven::read_sav("01. Data/TIPIFICACION DEL DELITO/01_PENALES_CAP200.sav")
#
# #Integrando las bases de datos
#
# df_1_2 <- inner_join(df1, df2, by = "ID_CARATULA", "INTERNO_ID")
# df_1_2_3 <- inner_join(df_1_2, df3, by = "ID_CARATULA", "INTERNO_ID")
# df_1_2_3_4 <- inner_join(df_1_2_3, df4, by = "ID_CARATULA", "INTERNO_ID")
# df_total <- inner_join(df_1_2_3_4, df5, by = "ID_CARATULA", "INTERNO_ID")
# Seleccionar las variables de Interés
# CNPP_data <- df_total |>
# select(EST_PENIT, GENERO, E_CIVIL, TSALUD_8,
# EDAD, NACIONALIDAD, NAC_DD, DELITO_GENERICO, P101, P104_1,
# P105, P107_1, P107C_1, P107_2, P107_3, P107_4, P107_5,
# P107_6, P107_7, P107_8, P107_9, P107_10, P107_11, P107_12,
# P109_1, P109_2, P109_3, P114, P133, P135, P201_DD, P204, P215, P220,
# P303, P306, P308, P313_1, P313_2, P313_3, P313_4, P313_5,
# P314, P315, P403_1, P403_2, P403_3, P403_4, P403_5, P403_6,
# P403_7)
# Guardar el dataframe en formato sav
# library(haven)
#
# write_sav(CNPP_data, "CNPP_data.sav")
# Importar datos
CNPP_data <- haven::read_sav("CNPP_data.sav")
CNPP_data
# Presentar el contenido de las variables de interés
var_label(CNPP_data)
## $EST_PENIT
## [1] "7. NOMBRE DEL ESTABLECIMIENTO PENITENCIARIO (E.P.)"
##
## $GENERO
## [1] "12. SEXO"
##
## $E_CIVIL
## [1] "13. ESTADO CIVIL"
##
## $TSALUD_8
## [1] "17. TIPO DE SEGURO DE SALUD_8. No tiene seguro de salud"
##
## $EDAD
## [1] "18. EDAD"
##
## $NACIONALIDAD
## [1] "20. NACIONALIDAD"
##
## $NAC_DD
## [1] "22. LUGAR DE NAC._A. DEPARTAMENTO"
##
## $DELITO_GENERICO
## [1] "DELITO GENÉRICO"
##
## $P101
## [1] "101. EL IDIOMA O LENGUA MATERNA QUE USTED APRENDIÓ EN SU NIÑEZ FUE:"
##
## $P104_1
## [1] "104. ANTES DE INGRESAR AL E.P., ¿CUÁL FUE EL ÚLTIMO AÑO O GRADO DE ESTUDIOS Y NIVEL QUE APROBÓ?_NIVEL DE ESTUDIOS"
##
## $P105
## [1] "105. ¿CUÁL FUE LA RAZÓN PRINCIPAL POR LA QUE USTED NO ESTUDIÓ O NO TERMINÓ DE ESTUDIAR EN EL COLEGIO?"
##
## $P107_1
## [1] "107_1. ¿PADECE UD. DE: ENFERMEDADES CRÓNICAS_Enfermedad pulmonar crónica tal como asma, bronquitis o enfisema?"
##
## $P107C_1
## [1] "107C_1. ¿ACTUALMENTE RECIBE UD. TRATAMIENTO MÉDICO (MEDICINA, TERAPIA, ETC)?"
##
## $P107_2
## [1] "107_2. ¿PADECE UD. DE: ENFERMEDADES CRÓNICAS_Hipertensión, es decir, presión alta?"
##
## $P107_3
## [1] "107_3. ¿PADECE UD. DE: ENFERMEDADES CRÓNICAS_Diabetes, es decir, niveles altos de azúcar en la sangre?"
##
## $P107_4
## [1] "107_4. ¿PADECE UD. DE: ENFERMEDADES INFECTO CONTAGIOSAS_Tuberculosis?"
##
## $P107_5
## [1] "107_5. ¿PADECE UD. DE: ENFERMEDADES INFECTO CONTAGIOSAS_Infecciones de Transmisión Sexual?"
##
## $P107_6
## [1] "107_6. ¿PADECE UD. DE: ENFERMEDADES INFECTO CONTAGIOSAS_VIH/SIDA?"
##
## $P107_7
## [1] "107_7. ¿PADECE UD. DE: OTRAS ENFERMEDADES_Hepatitis?"
##
## $P107_8
## [1] "107_8. ¿PADECE UD. DE: OTRAS ENFERMEDADES_Depresión?"
##
## $P107_9
## [1] "107_9. ¿PADECE UD. DE: OTRAS ENFERMEDADES_Ansiedad?"
##
## $P107_10
## [1] "107_10. ¿PADECE UD. DE: OTRAS ENFERMEDADES_Adicción a sustancias psicoactivas?"
##
## $P107_11
## [1] "107_11. ¿PADECE UD. DE: OTRAS ENFERMEDADES_Cáncer?"
##
## $P107_12
## [1] "107_12. ¿PADECE UD. DE: OTRAS ENFERMEDADES_Otro?"
##
## $P109_1
## [1] "109_1. ¿ANTES DE INGRESAR AL E.P. USTED CONSUMÍA: Drogas?"
##
## $P109_2
## [1] "109_2. ¿ANTES DE INGRESAR AL E.P. USTED CONSUMÍA: Bebidas alcohólicas?"
##
## $P109_3
## [1] "109_3. ¿ANTES DE INGRESAR AL E.P. USTED CONSUMÍA: Cigarrillos?"
##
## $P114
## [1] "114. ANTES DE INGRESAR AL ESTABLECIMIENTO PENITENCIARIO, ¿USTED TRABAJÓ ALGUNA VEZ?"
##
## $P133
## [1] "133. ¿ALGÚN MIEMBRO DE SU FAMILIA ESTUVO PRESO EN UN ESTABLECIMIENTO PENITENCIARIO ALGUNA VEZ?"
##
## $P135
## [1] "135. ANTES DE CUMPLIR LOS 18 AÑOS DE EDAD. ¿ALGUN(OS) DE SU(S) MEJOR(ES) AMIGO(S) COMETÍA(N) DELITOS?"
##
## $P201_DD
## [1] "201. DEPARTAMENTO EN EL QUE OCURRIO EL DELITO"
##
## $P204
## [1] "204. CUANDO OCURRIÓ EL DELITO, ¿USTED USÓ ALGÚN ARMA?"
##
## $P215
## [1] "215. ¿USTED ESTUVO INTERNADO(A) EN ALGÚN CENTRO JUVENIL?"
##
## $P220
## [1] "220. SIN TOMAR EN CUENTA LA SENTENCIA QUE ACTUALMENTE CUMPLE: ¿EN ALGUNA OTRA OCASIÓN LO HABÍAN SENTENCIADO O PROCESADO A PENA EFECTIVA POR ALGÚN OTRO DELITO?"
##
## $P303
## [1] "303. ¿USTED ESTÁ ESTUDIANDO EN ALGÚN PROGRAMA EN EL ESTABLECIMIENTO PENITENCIARIO?"
##
## $P306
## [1] "306. ¿POR QUÉ PARTICIPA EN LOS TALLERES LABORALES?"
##
## $P308
## [1] "308. ¿CUÁL ES LA RAZÓN POR LA QUE USTED NO PARTICIPA EN PROGRAMAS EDUCATIVOS?"
##
## $P313_1
## [1] "313_1. ¿EN CUÁLES DE LAS SIGUEINTES ACTIVIDADES UD HA PARTICIPADO DURANTE EL ÚLTIMO MES: Actividades deportivas?"
##
## $P313_2
## [1] "313_2. ¿EN CUÁLES DE LAS SIGUEINTES ACTIVIDADES UD HA PARTICIPADO DURANTE EL ÚLTIMO MES: Actividades laborales reconocidas por el INPE?"
##
## $P313_3
## [1] "313_3. ¿EN CUÁLES DE LAS SIGUEINTES ACTIVIDADES UD HA PARTICIPADO DURANTE EL ÚLTIMO MES: Labores de limpieza o mantenimiento de la institución?"
##
## $P313_4
## [1] "313_4. ¿EN CUÁLES DE LAS SIGUEINTES ACTIVIDADES UD HA PARTICIPADO DURANTE EL ÚLTIMO MES: Programa de tratamiento PIM?"
##
## $P313_5
## [1] "313_5. ¿EN CUÁLES DE LAS SIGUEINTES ACTIVIDADES UD HA PARTICIPADO DURANTE EL ÚLTIMO MES: Otros"
##
## $P314
## [1] "314. ¿POR QUÉ USTED NO REALIZA NINGUNA ACTIVIDAD DENTRO DE LA INSTITUCIÓN?"
##
## $P315
## [1] "315. EN LOS ÚLTIMOS TRES MESES, ¿CON QUÉ FRECUENCIA LO VISITÓ SU FAMILIA?"
##
## $P403_1
## [1] "403_1 ¿QUÉ PIENSA HACER CUANDO SALGA DEL EP? Estudiar"
##
## $P403_2
## [1] "403_2 ¿QUÉ PIENSA HACER CUANDO SALGA DEL EP? Trabajar"
##
## $P403_3
## [1] "403_3 ¿QUÉ PIENSA HACER CUANDO SALGA DEL EP? Viajar"
##
## $P403_4
## [1] "403_4 ¿QUÉ PIENSA HACER CUANDO SALGA DEL EP? Retornar a mi país"
##
## $P403_5
## [1] "403_5 ¿QUÉ PIENSA HACER CUANDO SALGA DEL EP? Otros"
##
## $P403_6
## [1] "403_6 ¿QUÉ PIENSA HACER CUANDO SALGA DEL EP? Regresar con mi familia"
##
## $P403_7
## [1] "403_7 ¿QUÉ PIENSA HACER CUANDO SALGA DEL EP? Reincorporarme a la sociedad"
# Identificación de valores atípicos y datos perdidos
summary(CNPP_data)
## EST_PENIT GENERO E_CIVIL TSALUD_8
## Length:75963 Min. :1.00 Min. :1.000 Min. :0.0000
## Class :character 1st Qu.:1.00 1st Qu.:1.000 1st Qu.:0.0000
## Mode :character Median :1.00 Median :3.000 Median :0.0000
## Mean :1.06 Mean :3.525 Mean :0.4438
## 3rd Qu.:1.00 3rd Qu.:6.000 3rd Qu.:1.0000
## Max. :2.00 Max. :6.000 Max. :1.0000
##
## EDAD NACIONALIDAD NAC_DD DELITO_GENERICO
## Min. :18.00 Length:75963 Length:75963 Length:75963
## 1st Qu.:27.00 Class :character Class :character Class :character
## Median :34.00 Mode :character Mode :character Mode :character
## Mean :36.04
## 3rd Qu.:43.00
## Max. :89.00
##
## P101 P104_1 P105 P107_1
## Min. : 1.000 Min. : 1.000 Min. : 1.000 Min. :1.000
## 1st Qu.: 7.000 1st Qu.: 4.000 1st Qu.: 3.000 1st Qu.:2.000
## Median : 7.000 Median : 5.000 Median : 3.000 Median :2.000
## Mean : 6.396 Mean : 5.183 Mean : 4.063 Mean :1.919
## 3rd Qu.: 7.000 3rd Qu.: 6.000 3rd Qu.: 4.000 3rd Qu.:2.000
## Max. :10.000 Max. :11.000 Max. :12.000 Max. :3.000
## NA's :1833 NA's :31323
## P107C_1 P107_2 P107_3 P107_4 P107_5
## Min. :1.00 Min. :1.000 Min. :1.00 Min. :1.000 Min. :1.000
## 1st Qu.:1.00 1st Qu.:2.000 1st Qu.:2.00 1st Qu.:2.000 1st Qu.:2.000
## Median :2.00 Median :2.000 Median :2.00 Median :2.000 Median :2.000
## Mean :1.52 Mean :1.935 Mean :1.98 Mean :1.962 Mean :1.995
## 3rd Qu.:2.00 3rd Qu.:2.000 3rd Qu.:2.00 3rd Qu.:2.000 3rd Qu.:2.000
## Max. :2.00 Max. :3.000 Max. :3.00 Max. :3.000 Max. :3.000
## NA's :71303
## P107_6 P107_7 P107_8 P107_9 P107_10
## Min. :1 Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000
## 1st Qu.:2 1st Qu.:2.000 1st Qu.:2.000 1st Qu.:2.000 1st Qu.:2.000
## Median :2 Median :2.000 Median :2.000 Median :2.000 Median :2.000
## Mean :2 Mean :1.996 Mean :1.908 Mean :1.918 Mean :1.977
## 3rd Qu.:2 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000
## Max. :3 Max. :3.000 Max. :3.000 Max. :3.000 Max. :3.000
##
## P107_11 P107_12 P109_1 P109_2
## Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000
## 1st Qu.:2.000 1st Qu.:2.000 1st Qu.:2.000 1st Qu.:1.000
## Median :2.000 Median :2.000 Median :2.000 Median :1.000
## Mean :2.005 Mean :1.923 Mean :1.758 Mean :1.327
## 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000
## Max. :3.000 Max. :3.000 Max. :3.000 Max. :3.000
##
## P109_3 P114 P133 P135
## Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000
## 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000
## Median :2.000 Median :1.000 Median :2.000 Median :2.000
## Mean :1.672 Mean :1.044 Mean :1.712 Mean :1.671
## 3rd Qu.:2.000 3rd Qu.:1.000 3rd Qu.:2.000 3rd Qu.:2.000
## Max. :3.000 Max. :2.000 Max. :3.000 Max. :3.000
##
## P201_DD P204 P215 P220
## Length:75963 Min. :1.000 Min. :1.000 Min. :1.000
## Class :character 1st Qu.:2.000 1st Qu.:2.000 1st Qu.:2.000
## Mode :character Median :2.000 Median :2.000 Median :2.000
## Mean :1.829 Mean :1.931 Mean :1.842
## 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000
## Max. :3.000 Max. :3.000 Max. :3.000
## NA's :70 NA's :70 NA's :16632
## P303 P306 P308 P313_1
## Min. :1.000 Min. :1.00 Min. : 1.000 Min. :1.000
## 1st Qu.:1.000 1st Qu.:1.00 1st Qu.: 3.000 1st Qu.:1.000
## Median :2.000 Median :1.00 Median : 3.000 Median :1.000
## Mean :1.743 Mean :1.56 Mean : 3.708 Mean :1.354
## 3rd Qu.:2.000 3rd Qu.:2.00 3rd Qu.: 4.000 3rd Qu.:2.000
## Max. :2.000 Max. :4.00 Max. :10.000 Max. :3.000
## NA's :82 NA's :62491 NA's :19581 NA's :82
## P313_2 P313_3 P313_4 P313_5
## Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000
## 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:2.000
## Median :2.000 Median :1.000 Median :2.000 Median :2.000
## Mean :1.525 Mean :1.306 Mean :1.606 Mean :2.003
## 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000
## Max. :3.000 Max. :3.000 Max. :3.000 Max. :3.000
## NA's :82 NA's :82 NA's :82 NA's :82
## P314 P315 P403_1 P403_2
## Min. : 1.00 Min. : 1.000 Min. :0.0000 Min. :0.0000
## 1st Qu.: 4.00 1st Qu.: 3.000 1st Qu.:0.0000 1st Qu.:1.0000
## Median : 7.00 Median : 5.000 Median :0.0000 Median :1.0000
## Mean : 6.29 Mean : 4.838 Mean :0.1344 Mean :0.9286
## 3rd Qu.: 8.00 3rd Qu.: 6.000 3rd Qu.:0.0000 3rd Qu.:1.0000
## Max. :10.00 Max. :10.000 Max. :1.0000 Max. :1.0000
## NA's :70061 NA's :82 NA's :133 NA's :133
## P403_3 P403_4 P403_5 P403_6
## Min. :0.00000 Min. :0.00000 Min. :0.00000 Min. :1
## 1st Qu.:0.00000 1st Qu.:0.00000 1st Qu.:0.00000 1st Qu.:1
## Median :0.00000 Median :0.00000 Median :0.00000 Median :1
## Mean :0.04893 Mean :0.01386 Mean :0.01917 Mean :1
## 3rd Qu.:0.00000 3rd Qu.:0.00000 3rd Qu.:0.00000 3rd Qu.:1
## Max. :1.00000 Max. :1.00000 Max. :1.00000 Max. :1
## NA's :133 NA's :133 NA's :133 NA's :72270
## P403_7
## Min. :1
## 1st Qu.:1
## Median :1
## Mean :1
## 3rd Qu.:1
## Max. :1
## NA's :75201
# Se crea una nueva variable, denominada "consumo"; cuyos valor es "Sí" cuando el reo consumía drogas, bebidas alcohólicas o cigarillos antes de ingresar al centro penitenciario.
CNPP_data <- CNPP_data |>
mutate(consumo = case_when(P109_1 == 1 & (P109_2 == 2 | P109_2 == 3) & (P109_3 == 2 | P109_3 == 3) ~ "DROGAS", (P109_1 == 2 | P109_1 == 3) & P109_2 == 1 & (P109_3 == 2 | P109_3 == 3) ~ "BEBIDAS ALCOHOLICAS", (P109_1 == 2 | P109_1 == 3) & (P109_2 == 2 | P109_2 == 3) & P109_3 == 1 ~ "CIGARRILLOS", P109_1 == 1 & P109_2 == 1 & (P109_3 == 2 | P109_3 == 3) ~ "DROGAS Y BEBIDAS ALCOHOLICAS", P109_1 == 1 & (P109_2 == 2 | P109_2 == 3) & P109_3 == 1 ~ "DROGAS Y CIGARRILLOS", (P109_1 == 2 | P109_1 == 3) & P109_2 == 1 & P109_3 == 1 ~ "BEBIDAS ALCOHOLICAS Y CIGARRILLOS", P109_1 == 1 & P109_2 == 1 & P109_3 == 1 ~ "DROGAS, BEBIDAS ALCOHOLICAS Y CIGARRILLOS", TRUE ~ "NO/NO CONTESTA"))
# Utilizando 'count' y 'mutate' hallamos la cantidad de reos que consumían drogas, bebidas alcohólicas o cigarillos antes de ingresar al centro penitenciario, así como el porcentaje que representan respecto del total.
CNPP_data |>
count(consumo) |>
mutate(Porcentaje_consumo = round(n/sum(n)*100,1)) |>
print(n = Inf) |>
arrange(desc(n))
## # A tibble: 8 × 3
## consumo n Porcentaje_consumo
## <chr> <int> <dbl>
## 1 BEBIDAS ALCOHOLICAS 23476 30.9
## 2 BEBIDAS ALCOHOLICAS Y CIGARRILLOS 13450 17.7
## 3 CIGARRILLOS 2279 3
## 4 DROGAS 3053 4
## 5 DROGAS Y BEBIDAS ALCOHOLICAS 6130 8.1
## 6 DROGAS Y CIGARRILLOS 1255 1.7
## 7 DROGAS, BEBIDAS ALCOHOLICAS Y CIGARRILLOS 8203 10.8
## 8 NO/NO CONTESTA 18117 23.8
# A partir de la variable obtenida ('consumo'), se presenta a continuación un gráfico de barras que permitirá observar la cantidad de reos que consumían drogas, bebidas alcohólicas o cigarillos antes de ingresar al centro penitenciario.
etiqueta_1 <- c(`1`="Sí",
`2`="No",
`3`="No sabe/No contesta")
CNPP_data|>
mutate(consumo = recode_factor(consumo,!!!etiqueta_1)) |>
count(consumo) |>
ggplot() +
aes(x=1, y=n, fill=consumo) +
geom_col(position = "dodge", width = 0.8) +
geom_text(aes(label = n),
position = position_dodge(width = 0.8), vjust = -0.5, size = 3, fontface = "bold") +
theme_minimal() +
scale_fill_brewer(palette="Set1") +
labs(
title = "PERÚ: CONSUMO ANTES DE INGRESAR AL ESTABLECIMIENTO \nPENITENCIARIO",
subtitle = "(Frecuencia, porcentaje)",
x = "Consumo",
y = "Frecuencia")+
theme(axis.text.x = element_blank())
Como puede observarse, un gran número de reos señala que consumían bebidas alcohólicas antes de ingresar al establecimiento penitenciario. En segundo lugar, 18,117 reos mencionan que no consumían ninguna de las opciones previamente mencionadas o prefirieron no contestar a la interrogante.
Luego de ello, podemos observar que lo siguen en cantidad los reos que consumían “Bebidas alcohólicas y cigarrillos”, “Drogas, bebidas alcohólicas y cigarrilllos” y “Drogas y bebidas alcohólicas”; al respecto, puede observarse que las bebidas alcohólicas tienen una fuerte presencia en el consumo de los reos, desde antes de ingresar al establecimiento penitenciario.
# Utilizando 'count' y 'mutate' hallamos la cantidad de reos que trabajaron alguna vez antes de ingresar al establecimiento penitenciario, así como el porcentaje que representan respecto del total.
CNPP_data |>
count(P114) |>
mutate(Porcentaje_trabajo_antes = round(n/sum(n)*100,1)) |>
print(n = Inf) |>
arrange(desc(n)) |>
rename("cantidad_reos"=n)
## # A tibble: 2 × 3
## P114 n Porcentaje_trabajo_antes
## <dbl+lbl> <int> <dbl>
## 1 1 [Sí] 72610 95.6
## 2 2 [No] 3353 4.4
# A partir de ello, se presenta a continuación un gráfico circular que permitirá observar la cantidad de reos que trabajaron o no alguna vez antes de ingresar al establecimiento penitenciario.
table(CNPP_data$P114)
##
## 1 2
## 72610 3353
etiqueta_1 <- c(`1`="Sí",
`2`="No",
`3`="No sabe/No contesta")
CNPP_data |>
mutate(P114 = recode_factor(P114,!!!etiqueta_1)) |>
count(P114) |>
mutate(
Porcentaje = round(n/sum(n)*100,1)) |>
ggplot() +
aes(x=1, y=Porcentaje, fill=P114) +
geom_bar(stat="identity") +
geom_text(aes(label = paste0(n,", ",round(Porcentaje,1),"%")),
position = position_stack(vjust = 0.5), size=3, fontface = "bold") +
coord_polar(theta = "y") +
theme_void() +
scale_fill_brewer(palette="Set1") +
labs(
title = "PERÚ: POBLACIÓN PENITENCIARIA QUE TRABAJÓ ANTES \nINGRESAR AL ESTABLECIMIENTO PENITENCIARIO",
subtitle = "(Frecuencia, porcentaje)")
Como puede observarse, el 95.6% de los reos sí trabajó alguna vez antes de ingresar al establecimiento penitenciario.
# Utilizando 'count' y 'mutate' hallamos la cantidad de reos que tuvieron a algún miembro de su familia preso en un establecimiento penitenciario, así como el porcentaje que representan respecto del total.
CNPP_data |>
count(P133) |>
mutate(Porcentaje_trabajo_antes = round(n/sum(n)*100,1)) |>
print(n = Inf) |>
arrange(desc(n)) |>
rename("cantidad_reos"=n)
## # A tibble: 3 × 3
## P133 n Porcentaje_trabajo_antes
## <dbl+lbl> <int> <dbl>
## 1 1 [Sí] 22442 29.5
## 2 2 [No] 52924 69.7
## 3 3 [No recuerda / No contesta] 597 0.8
# A partir de ello, se presenta a continuación un gráfico circular que permitirá observar la cantidad de reos que tuvieron a algún miembro de su familia preso en un establecimiento penitenciario.
table(CNPP_data$P133)
##
## 1 2 3
## 22442 52924 597
etiqueta_1 <- c(`1`="Sí",
`2`="No",
`3`="No recuerda/No contesta")
CNPP_data |>
mutate(P133 = recode_factor(P133,!!!etiqueta_1)) |>
count(P133) |>
mutate(
Porcentaje = round(n/sum(n)*100,1)) |>
ggplot() +
aes(x=1, y=Porcentaje, fill=P133) +
geom_bar(stat="identity") +
geom_text(aes(label = paste0(n,", ",round(Porcentaje,1),"%")),
position = position_stack(vjust = 0.5), size=3, fontface = "bold") +
coord_polar(theta = "y") +
theme_void() +
scale_fill_brewer(palette="Set1") +
labs(
title = "PERÚ: ¿ALGÚN MIEMBRO DE LA FAMILIA DEL REO PENITENCIARIO \nESTUVO PRESO EN UN ESTABLECIMIENTO PENITENCIARIO \nALGUNA VEZ?",
subtitle = "(Frecuencia, porcentaje)")
Como puede observarse, el 69.7% de los reos no tuvo a algún miembro de su familia preso en un establecimiento penitenciario; mientras que un 29.5% afirma que sí lo tuvo.
# Utilizando 'count' y 'mutate' hallamos la cantidad de reos que, antes de cumplir los 18 años de edad, tuvieron algún mejor amigo que cometía delitos, así como el porcentaje que representan respecto del total.
CNPP_data |>
count(P135) |>
mutate(Porcentaje_trabajo_antes = round(n/sum(n)*100,1)) |>
print(n = Inf) |>
arrange(desc(n)) |>
rename("cantidad_reos"=n)
## # A tibble: 3 × 3
## P135 n Porcentaje_trabajo_antes
## <dbl+lbl> <int> <dbl>
## 1 1 [SÍ] 25794 34
## 2 2 [No] 49370 65
## 3 3 [No recuerda / No contesta] 799 1.1
# A partir de ello, se presenta a continuación un gráfico circular que permitirá observar la cantidad de reos que, antes de cumplir los 18 años de edad, tuvieron algún mejor amigo que cometía delitoso.
table(CNPP_data$P135)
##
## 1 2 3
## 25794 49370 799
etiqueta_1 <- c(`1`="Sí",
`2`="No",
`3`="No recuerda/No contesta")
CNPP_data |>
mutate(P135 = recode_factor(P135,!!!etiqueta_1)) |>
count(P135) |>
mutate(
Porcentaje = round(n/sum(n)*100,1)) |>
ggplot() +
aes(x=1, y=Porcentaje, fill=P135) +
geom_bar(stat="identity") +
geom_text(aes(label = paste0(n,", ",round(Porcentaje,1),"%")),
position = position_stack(vjust = 0.5), size=3, fontface = "bold") +
coord_polar(theta = "y") +
theme_void() +
scale_fill_brewer(palette="Set1") +
labs(
title = "PERÚ: ANTES DE QUE EL REO PENITENCIARIO CUMPLA \n18 AÑOS, ¿ALGUNO DE SUS MEJORES AMIGOS COMETÍAN \nDELITOS?",
subtitle = "(Frecuencia, porcentaje)")
Como puede observarse, el 65% de los reos señala que, antes de cumplir los 18 años de edad, no tuvieron algún mejor amigo que cometiera delitos; mientras que un 34% señala que sí lo tuvo.
-Enfermedades crónicas: asma, bronquitis o enfisema, hipertensión, diabetes.
-Enfermedades infecto contagiosas: tuberculosis, infecciones de transmisión sexual, VIH/SIDA.
-Otras enfermedades: hepatitis, depresión, ansiedad, adicción a sustancias psicoactivas, cáncer, otro.
# A continuación se crea una nueva variable, denominada "enfermedades"; cuyo valor es "Sí" cuando el reo posee una enfermedad crónica, infecto contagiosa u otra.
# Para dicho fin, en primer lugar creamos una variable dicotómica por cada tipo de enfermedad (Crónica/Infecto contagiosa/Otra); en la cual, el valor de "1" significa que el reo tiene al menos una enfermedad del tipo respectivo.
CNPP_data <- CNPP_data |>
mutate(enfermedad_cronica = case_when(P107_1 == 1 | P107_2 == 1 | P107_3 == 1 ~ "1", TRUE ~ "2"))
CNPP_data <- CNPP_data |>
mutate(enfermedad_infecto_contagiosa = case_when(P107_4 == 1 | P107_5 == 1 | P107_6 == 1 ~ "1", TRUE ~ "2"))
CNPP_data <- CNPP_data |>
mutate(enfermedad_otra = case_when(P107_7 == 1 | P107_8 == 1 | P107_9 == 1 | P107_10 == 1 | P107_11 == 1 | P107_12 == 1 ~ "1", TRUE ~ "2"))
# Luego, creamos una nueva variable denominada 'enfermedades', que pueda resumir el tipo de enfermedad que tiene cada reo penitenciario.
CNPP_data <- CNPP_data |>
mutate(enfermedades = case_when(enfermedad_cronica == 1 & enfermedad_infecto_contagiosa == 2 & enfermedad_otra == 2 ~ "CRONICA", enfermedad_cronica == 2 & enfermedad_infecto_contagiosa == 1 & enfermedad_otra == 2 ~ "INFECTO CONTAGIOSA", enfermedad_cronica == 2 & enfermedad_infecto_contagiosa == 2 & enfermedad_otra == 1 ~ "OTRA", enfermedad_cronica == 1 & enfermedad_infecto_contagiosa == 1 & enfermedad_otra == 2 ~ "CRONICA E INFECTO CONTAGIOSA", enfermedad_cronica == 1 & enfermedad_infecto_contagiosa == 2 & enfermedad_otra == 1 ~ "CRONICA Y OTRA", enfermedad_cronica == 2 & enfermedad_infecto_contagiosa == 1 & enfermedad_otra == 1 ~ "INFECTO CONTAGIOSA Y OTRA", enfermedad_cronica == 1 & enfermedad_infecto_contagiosa == 1 & enfermedad_otra == 1 ~ "CRONICA, INFECTO CONTAGIOSA Y OTRO", enfermedad_cronica == 2 & enfermedad_infecto_contagiosa == 2 & enfermedad_otra == 2 ~ "NINGUNA/NO SABE/NO RESPONDE"))
# Utilizando 'count' y 'mutate' hallamos la cantidad de reos que poseen cierto tipo de enfermedad, así como el porcentaje que representan respecto del total.
CNPP_data |>
count(enfermedades) |>
mutate(Porcentaje_enfermedades = round(n/sum(n)*100,1)) |>
print(n = Inf) |>
arrange(desc(n)) |>
rename("cantidad_reos"=n)
## # A tibble: 8 × 3
## enfermedades n Porcentaje_enfermedades
## <chr> <int> <dbl>
## 1 CRONICA 6546 8.6
## 2 CRONICA E INFECTO CONTAGIOSA 606 0.8
## 3 CRONICA Y OTRA 4334 5.7
## 4 CRONICA, INFECTO CONTAGIOSA Y OTRO 522 0.7
## 5 INFECTO CONTAGIOSA 2243 3
## 6 INFECTO CONTAGIOSA Y OTRA 647 0.9
## 7 NINGUNA/NO SABE/NO RESPONDE 48695 64.1
## 8 OTRA 12370 16.3
# A partir de la variable obtenida ('enfermedades'), se presenta a continuación un gráfico de barras que permitirá observar la cantidad de reos que poseen cierto tipo de enfermedad.
library(ggplot2)
CNPP_data |>
mutate(enfermedades = recode_factor(enfermedades, !!!etiqueta_1)) |>
count(enfermedades) |>
ggplot() +
aes(x = enfermedades, y = n, fill = enfermedades) +
geom_col(position = "dodge", width = 0.8) +
geom_text(aes(label = n),
position = position_dodge(width = 0.8), vjust = -0.5, size = 3, fontface = "bold") +
theme_minimal() +
scale_fill_brewer(palette = "Set1") +
labs(
title = "PERÚ: POBLACIÓN PENITENCIARIA QUE PADECE \nDE ALGUNA ENFERMEDAD",
subtitle = "(Frecuencia)",
x = "Enfermedades",
y = "Frecuencia")+
theme(axis.text.x = element_blank())
Como puede observarse, un gran número de reos señala que no tiene ninguna enfermedad, o no sabe, o no responde a la pregunta realizada. En segundo lugar, 12,370 reos mencionan que tienen otro tipo de enfermedad (hepatitis, depresión, ansiedad, adicción a sustancias psicoactivas, cáncer, otro); seguido por aquellos que tienen una enfermedad crónica (asma, bronquitis o enfisema, hipertensión, diabetes).
# CNPP_data |>
# count(P201_DD) |> #count para contar la cantidad de casos.
# mutate(Porcentaje = round(n/sum(n)*100,1)) |> #Mutate crea la variable porcentaje.
# print(n = Inf) |>
# arrange(desc(n))
#Importar las librerías para el mapa
library(plotly)
library(mapsPERU)
library(tidyverse)
library(ggrepel)
library(haven)
library(leaflet)
library(leaflet.extras)
library(rworldxtra)
library(raster)
library(sf)
#Extraemos las coordenadas del paquete mapsPERU departamento
df <- map_DEP
#convertimos todas las variables que tenga caracteres
#de minúscula a mayúsculas.
df <- mutate_if(df, is.character, toupper)
#Quitamos las tildes de las mayúsculas
df$DEPARTAMENTO <- chartr('Á,É,Í,Ó,Ú','A,E,I,O,U', df$DEPARTAMENTO)
#Renombramos la variable P201_DD de la base CNPP_data
df_total_mapa <- rename(CNPP_data, DEPARTAMENTO = P201_DD)
#Extraemos los datos de interés para el mapa
Delito_depart <- df_total_mapa |>
count(DEPARTAMENTO) |> #count para contar la cantidad de casos.
mutate(Porcentaje = round(n/sum(n)*100,1)) |> #Mutate crea la variable porcentaje.
print(n = Inf) |>
arrange(desc(n))
## # A tibble: 27 × 3
## DEPARTAMENTO n Porcentaje
## <chr> <int> <dbl>
## 1 "" 70 0.1
## 2 "AMAZONAS" 709 0.9
## 3 "ANCASH" 2543 3.3
## 4 "APURIMAC" 538 0.7
## 5 "AREQUIPA" 1725 2.3
## 6 "AYACUCHO" 2241 3
## 7 "CAJAMARCA" 2006 2.6
## 8 "CALLAO" 4156 5.5
## 9 "CUSCO" 3009 4
## 10 "HUANCAVELICA" 464 0.6
## 11 "HUANUCO" 2177 2.9
## 12 "ICA" 2894 3.8
## 13 "JUNIN" 2463 3.2
## 14 "LA LIBERTAD" 4129 5.4
## 15 "LAMBAYEQUE" 2481 3.3
## 16 "LIMA" 22793 30
## 17 "LORETO" 1046 1.4
## 18 "MADRE DE DIOS" 813 1.1
## 19 "MOQUEGUA" 480 0.6
## 20 "NEP" 9318 12.3
## 21 "PASCO" 653 0.9
## 22 "PIURA" 2549 3.4
## 23 "PUNO" 1477 1.9
## 24 "SAN MARTIN" 1696 2.2
## 25 "TACNA" 835 1.1
## 26 "TUMBES" 749 1
## 27 "UCAYALI" 1949 2.6
#Integramos ambas bases de datos a través de DEPARTAMENTO
mapa_delitos <- left_join(df, Delito_depart, by = "DEPARTAMENTO")
#Creamos la base del mapa
leaflet() |> addTiles() |> addCircleMarkers(data = mapa_delitos, lat = ~coords_y, radius = ~Porcentaje,
lng = ~coords_x, color = "red",
fillOpacity = 3, label = ~n, labelOptions(permanent=TRUE) )
El mapa permite identificar rápidamente el departamento donde ocurrió la mayor cantidad de delitos (22793 delitos) la cual corresponde a Lima; y la de menor cantidad, (464 delitos) a Huancavelica.
CNPP_data |>
filter(!is.na(P204)) |>
count(P204) |>
mutate(Porcentaje = round(n/sum(n)*100,1)) |>
print(n = Inf)
## # A tibble: 3 × 3
## P204 n Porcentaje
## <dbl+lbl> <int> <dbl>
## 1 1 [Sí] 13613 17.9
## 2 2 [No] 61617 81.2
## 3 3 [No sabe / No contesta] 663 0.9
table(CNPP_data$P204, useNA = "alw")
##
## 1 2 3 <NA>
## 13613 61617 663 70
etiqueta_1 <- c(`1`="Sí",
`2`="No",
`3`="No sabe/No contesta")
CNPP_data$P204 <- as.factor(CNPP_data$P204)
CNPP_data |>
filter(!is.na(P204)) |>
mutate(P204 = recode_factor(P204,!!!etiqueta_1)) |>
count(P204) |>
mutate(
Porcentaje = round(n/sum(n)*100,1)) |>
ggplot() +
aes(x=1, y=Porcentaje, fill=P204) +
geom_bar(stat="identity") +
geom_text(aes(label = paste0(n,", ",round(Porcentaje,1),"%")),
position = position_stack(vjust = 0.5)) +
coord_polar(theta = "y") +
theme_void() +
scale_fill_brewer(palette="Set1") +
labs(
title = "PERÚ: POBLACIÓN PENITENCIARIA QUE UTILIZÓ UN ARMA \nCUANDO OCURRIÓ EL DELITO",
subtitle = "(Frecuencia, porcentaje)"
)
Solo el 17.9% de la población penitenciaria utilizó un arma cuando ocurrió el delito. La mayoría (81.2%) no lo utilizó.
table(CNPP_data$P215, useNA = "alw")
##
## 1 2 3 <NA>
## 5750 69651 492 70
etiqueta_1 <- c(`1`="Sí",
`2`="No",
`3`="No sabe/No contesta")
CNPP_data$P215 <- as.factor(CNPP_data$P215)
CNPP_data |>
filter(!is.na(P215)) |>
mutate(P215 = recode_factor(P215,!!!etiqueta_1)) |>
count(P215) |>
mutate(
Porcentaje = round(n/sum(n)*100,1)) |>
ggplot() +
aes(x=1, y=Porcentaje, fill=P215) +
geom_bar(stat="identity") +
geom_text(aes(label = paste0(n,", ",round(Porcentaje,1),"%")),
position = position_stack(vjust = 0.5)) +
coord_polar(theta = "y") +
theme_void() +
scale_fill_brewer(palette="Set1") +
labs(
title = "PERÚ: POBLACIÓN PENITENCIARIA QUE ESTUVO \nINTERNADO(A) EN ALGÚN CENTRO JUVENIL",
subtitle = "(Frecuencia, porcentaje)"
)
El 91.8% de la población penitenciaria no estuvo internado en algún centro juvenil.
table(CNPP_data$P220, useNA = "alw")
##
## 1 2 3 <NA>
## 9833 49037 461 16632
etiqueta_1 <- c(`1`="Sí",
`2`="No",
`3`="No sabe/No contesta")
CNPP_data$P220 <- as.factor(CNPP_data$P220)
CNPP_data |>
filter(!is.na(P220)) |>
mutate(P220 = recode_factor(P220,!!!etiqueta_1)) |>
count(P220) |>
mutate(
Porcentaje = round(n/sum(n)*100,1)) |>
ggplot() +
aes(x=1, y=Porcentaje, fill=P220) +
geom_bar(stat="identity") +
geom_text(aes(label = paste0(n,", ",round(Porcentaje,1),"%")),
position = position_stack(vjust = 0.5)) +
coord_polar(theta = "y") +
theme_void() +
scale_fill_brewer(palette="Set1") +
labs(
title = "PERÚ: POBLACIÓN PENITENCIARIA QUE ESTUVO \nANTERIORMENTE SENTENCIADO O PROCESADO A PENA \nEFECTIVA POR ALGÚN OTRO DELITO",
subtitle = "(Frecuencia, porcentaje)"
)
El 16.6% de la población penitenciaria estuvo anteriormente sentenciado o procesado a pena efectiva por algún otro delito.
Además, la siguiente tabla muestra el establecimiento penitenciario a las que pertenecen los reos reincidentes.
table(CNPP_data$EST_PENIT, CNPP_data$P220)
##
## 1 2 3
## E.P. Anexo de Mujeres Chorrillos 19 123 2
## E.P. Camana 22 183 0
## E.P. de Abancay 14 156 1
## E.P. de Ancon 549 765 10
## E.P. de Andahuaylas 24 261 2
## E.P. de Arequipa 320 1354 5
## E.P. de Ayacucho 203 1689 7
## E.P. de Bagua Grande 25 134 0
## E.P. de Cajamarca 173 937 19
## E.P. de Cañete 236 1530 22
## E.P. de Cerro Pasco 3 128 1
## E.P. de Chachapoyas 88 458 1
## E.P. de Challapalca 36 91 0
## E.P. de Chanchamayo 29 346 2
## E.P. de Chiclayo 425 2354 30
## E.P. de Chimbote 374 1530 22
## E.P. de Chincha 186 972 10
## E.P. de Chota 5 87 0
## E.P. de Cusco 172 1739 18
## E.P. de Huacho 544 987 4
## E.P. de Huancavelica 9 163 1
## E.P. de Huancayo 197 1560 5
## E.P. de Huanta 4 37 1
## E.P. de Huanuco 166 1782 10
## E.P. de Huaral 1114 1865 29
## E.P. de Huaraz 90 757 4
## E.P. de Ica 577 2797 24
## E.P. de Iquitos 65 690 1
## E.P. de Jaen 19 260 0
## E.P. de Jauja 6 63 1
## E.P. de Juanjui 30 435 4
## E.P. de la Oroya 5 81 0
## E.P. de Lampa 3 79 0
## E.P. de Lurigancho 1199 5579 54
## E.P. de Moyobamba 48 463 0
## E.P. de Pacasmayo 0 10 0
## E.P. de Pto. Maldonado 55 478 2
## E.P. de Pucallpa 198 1288 7
## E.P. de Puno 68 355 2
## E.P. de San Ignacio 2 51 0
## E.P. de Sananguillo 108 415 2
## E.P. de Satipo 5 51 0
## E.P. de Sullana 16 58 0
## E.P. de Tacna 72 508 5
## E.P. de Tarapoto 21 282 4
## E.P. de Tarma 6 64 0
## E.P. de Trujillo 472 2991 41
## E.P. de Tumbes 70 649 3
## E.P. de Yurimaguas 4 115 2
## E.P. del Callao 372 1950 20
## E.P. Juliaca 92 703 4
## E.P. Miguel Castro Castro 656 1938 42
## E.P. Modelo Ancon II - S.M.V.C. 69 1183 9
## E.P. Mujeres de Arequipa 12 115 0
## E.P. Mujeres de Chorrillos 80 458 3
## E.P. Mujeres de Concepción 7 17 0
## E.P. Mujeres de Iquitos 5 39 0
## E.P. Mujeres de Tacna 13 64 0
## E.P. Mujeres de Trujillo 10 157 0
## E.P. Mujeres del cusco 9 93 0
## E.P. Piura 397 2141 22
## E.P. Quillabamba 16 191 1
## E.P. Virgen de Fatima 17 223 1
## E.P. Virgen de la Merced 1 11 0
## Otros 1 4 1
Se puede observar que el establecimiento penitenciario donde se encuentra la mayoría de reos reincidentes (opción 1) están en el E.P. de Lurigancho (1199 reos).
CNPP_data$P303 <- as.factor(CNPP_data$P303)
etiqueta_303 <- c(`1`="Participa", `2`="No Participa")
BASE303 <- CNPP_data |>
filter(!is.na(P303)) |>
mutate(P303 = recode_factor(P303,!!!etiqueta_303)) |>
count(P303) |>
mutate(porcentaje = round(n/sum(n)*100,1))
etiquetas <- paste0(etiqueta_303, "\n(", BASE303$n, ", ", BASE303$porcentaje, "%)" )
pie(BASE303$n, labels = etiquetas,col=c("blue","red"), main="PARTICIPACION EN TALLERES PENITENCIARIOS \n(Frecuencia, Porcentaje)")
table(CNPP_data$P306, useNA = "alw")
##
## 1 2 3 4 <NA>
## 7253 4998 1079 142 62491
etiqueta_306 <- c(`1`="APRENDER UN OFICIO", `2`="OBTENER BENEFICIOS", `3`="PASAR TIEMPO", `4`="OTROS")
CNPP_data$P306 <- as.factor(CNPP_data$P306)
BASE306 <- CNPP_data |>
filter(!is.na(P306)) |>
mutate(P306 = recode_factor(P306,!!!etiqueta_306)) |>
count(P306) |>
mutate(Porcentaje = round(n/sum(n)*100,1))
etiquetas <- paste0(etiqueta_306, "(", BASE306$n, ", ", BASE306$Porcentaje, "%)" )
pie(BASE306$n, labels = etiquetas,col=c("red","green", "blue", "orange"), main="MOTIVOS POR LOS QUE PARTICIPA DE TALLERES LABORALES \n(Frecuencia, Porcentaje)")
etiqueta_308 <- c(`1`="No existen programas adecuados a su nivel" ,`2`= "No le interesan los programas educativos que se ofrecen" ,`3`= "Porque trabajo" ,`4`= "No hay vacantes disponibles" ,`5`= "Otros" ,`6` = "No sabe / No contesta" ,`7`= "Recien a ingresado o esta cerca a salir del penal" ,`8`= "Problemas economicos" ,`9`= "Por enfermedad y/o estado de salud" ,`10`= "Falta de beneficios penitenciarios")
table(CNPP_data$P308, useNA = "alw")
##
## 1 2 3 4 5 6 7 8 9 10 <NA>
## 3526 4371 29968 5140 3524 4689 2316 1757 619 472 19581
CNPP_data$P308 <- as.factor(CNPP_data$P308)
BASE308 <- CNPP_data |>
filter(!is.na(P308)) |>
mutate(P308 = recode_factor(P308,!!!etiqueta_308)) |>
filter(P308!="No sabe / No contesta") |>
count(P308) |>
mutate(porcentaje = round(n/sum(n)*100,1))
tabla=table(BASE308$P308, useNA = "alw")
tabla
##
## No existen programas adecuados a su nivel
## 1
## No le interesan los programas educativos que se ofrecen
## 1
## Porque trabajo
## 1
## No hay vacantes disponibles
## 1
## Otros
## 1
## No sabe / No contesta
## 0
## Recien a ingresado o esta cerca a salir del penal
## 1
## Problemas economicos
## 1
## Por enfermedad y/o estado de salud
## 1
## Falta de beneficios penitenciarios
## 1
## <NA>
## 0
etiquetas <- paste0(etiqueta_308, "\n(", BASE308$n, ", ", BASE308$porcentaje, "%)" )
titulo <- paste0("¿CUÁL ES LA RAZÓN POR LA QUE USTED \nNO PARTICIPA EN PROGRAMAS EDUCATIVOS? \n(En Porcentaje, N=", sum(BASE308$n),")")
graph308 <- barplot(BASE308$n, border=F , names.arg=BASE308$P308 , las=2 , ylim = c(0, 47000),main=titulo, ylab="Frecuencias" )
text(graph308, BASE308$n + 4000 , paste0(BASE308$n,"\n(",BASE308$porcentaje,"%)") ,cex=1)
table(CNPP_data$P313_1)
##
## 1 2 3
## 49243 26419 219
CNPP_data$P313_1 <- as.factor(CNPP_data$P313_1)
etiqueta_313_1 <- c(`1`="SI", `2`="NO", `3`="NO SABE / NO OPINA")
BASE313_1 <- CNPP_data |>
filter(!is.na(P313_1)) |>
mutate(P313_1 = recode_factor(P313_1,!!!etiqueta_313_1)) |>
count(P313_1) |>
mutate(porcentaje = round(n/sum(n)*100,1))
etiquetas <- paste0(etiqueta_313_1, " (",BASE313_1$porcentaje, " %)" )
pie(BASE313_1$n, labels = etiquetas, col=c("blue","red"), main=paste0("PARTICIPACIÓN EN LAS ACTIVIDADES DEPORTIVAS \nDURANTE EL ÚLTIMO MES \n(En Porcentaje, N=", sum(BASE313_1$n),")"))
table(CNPP_data$P313_2)
##
## 1 2 3
## 36536 38843 502
CNPP_data$P313_2 <- as.factor(CNPP_data$P313_2)
etiqueta_313_2 <- c(`1`="SI", `2`="NO", `3`="NO SABE / NO OPINA")
BASE313_2 <- CNPP_data |>
filter(!is.na(P313_2)) |>
mutate(P313_1 = recode_factor(P313_2,!!!etiqueta_313_2)) |>
count(P313_2) |>
mutate(porcentaje = round(n/sum(n)*100,1))
etiquetas <- paste0(etiqueta_313_2, " (",BASE313_2$porcentaje, " %)" )
pie(BASE313_2$n, labels = etiquetas, col=c("green","yellow","blue"), main=paste0("PARTICIPACIÓN EN LABORES RECONOCIDAS POR EL INPE \nDURANTE EL ÚLTIMO MES \n(En Porcentaje, N=", sum(BASE313_2$n),")"))
table(CNPP_data$P313_3)
##
## 1 2 3
## 52930 22710 241
CNPP_data$P313_3 <- as.factor(CNPP_data$P313_3)
etiqueta_313_3 <- c(`1`="SI", `2`="NO", `3`="NO SABE / NO OPINA")
BASE313_3 <- CNPP_data |>
filter(!is.na(P313_3)) |>
mutate(P313_3 = recode_factor(P313_3,!!!etiqueta_313_3)) |>
count(P313_3) |>
mutate(porcentaje = round(n/sum(n)*100,1))
etiquetas <- paste0(etiqueta_313_3, " (",BASE313_3$porcentaje, " %)" )
pie(BASE313_3$n, labels = etiquetas, col=c("orange","purple","gray"), main=paste0("PARTICIPACIÓN EN LABORES DE LIMPIEZA \nDURANTE EL ÚLTIMO MES \n(En Porcentaje, N=", sum(BASE313_3$n),")"))
table(CNPP_data$P313_4)
##
## 1 2 3
## 32860 40090 2931
CNPP_data$P313_4 <- as.factor(CNPP_data$P313_4)
etiqueta_313_4 <- c(`1`="SI", `2`="NO", `3`="NO SABE / NO OPINA")
BASE313_4 <- CNPP_data |>
filter(!is.na(P313_4)) |>
mutate(P313_4 = recode_factor(P313_4,!!!etiqueta_313_4)) |>
count(P313_4) |>
mutate(porcentaje = round(n/sum(n)*100,1))
etiquetas <- paste0(etiqueta_313_4, " (",BASE313_4$porcentaje, " %)" )
pie(BASE313_4$n, labels = etiquetas, col=c("green","red","gray"), main=paste0("PARTICIPACIÓN EN PROGRAMA DE TRATAMIENTO - PIM \nDURANTE EL ÚLTIMO MES \n(En Porcentaje, N=", sum(BASE313_4$n),")"))
table(CNPP_data$P313_5)
##
## 1 2 3
## 2049 71528 2304
CNPP_data$P313_5 <- as.factor(CNPP_data$P313_5)
etiqueta_313_5 <- c(`1`="SI", `2`="NO", `3`="NO SABE / NO OPINA")
BASE313_5 <- CNPP_data |>
filter(!is.na(P313_5)) |>
mutate(P313_5 = recode_factor(P313_5,!!!etiqueta_313_5)) |>
count(P313_5) |>
mutate(porcentaje = round(n/sum(n)*100,1))
etiquetas <- paste0(etiqueta_313_5, " (",BASE313_5$porcentaje, " %)" )
pie(BASE313_5$n, labels = etiquetas, col=c("blue","gold","gray"), main=paste0("PARTICIPACIÓN EN OTROS \nDURANTE EL ÚLTIMO MES \n(En Porcentaje, N=", sum(BASE313_5$n),")"))
table(CNPP_data$P403_1, useNA = "alw")
##
## 0 1 <NA>
## 65641 10189 133
etiqueta_2 <- c(`0`="No",
`1`="sí")
CNPP_data$P403_1 <- as.factor(CNPP_data$P403_1)
CNPP_data |>
filter(!is.na(P403_1)) |>
mutate(P403_1 = recode_factor(P403_1,!!!etiqueta_2)) |>
count(P403_1) |>
mutate(
Porcentaje = round(n/sum(n)*100,1)) |>
ggplot() +
aes(x=1, y=Porcentaje, fill=P403_1) +
geom_bar(stat="identity") +
geom_text(aes(label = paste0(n,", ",round(Porcentaje,1),"%")),
position = position_stack(vjust = 0.5)) +
coord_polar(theta = "y") +
theme_void() +
scale_fill_brewer(palette="Set1") +
labs(
title = "PERÚ: POBLACIÓN PENITENCIARIA QUE PIENSA \nESTUDIAR LUEGO DE SALIR DEL ESTABLECIMIENTO \nPENITENCIARIO",
subtitle = "(Frecuencia, porcentaje)"
)
Solo el 13.4% de la población penitenciaria piensa estudiar luego de salir del establecimiento penitenciario.
table(CNPP_data$P403_2, useNA = "alw")
##
## 0 1 <NA>
## 5416 70414 133
etiqueta_2 <- c(`0`="No",
`1`="sí")
CNPP_data$P403_2 <- as.factor(CNPP_data$P403_2)
CNPP_data |>
filter(!is.na(P403_2)) |>
mutate(P403_2 = recode_factor(P403_2,!!!etiqueta_2)) |>
count(P403_2) |>
mutate(
Porcentaje = round(n/sum(n)*100,1)) |>
ggplot() +
aes(x=1, y=Porcentaje, fill=P403_2) +
geom_bar(stat="identity") +
geom_text(aes(label = paste0(n,", ",round(Porcentaje,1),"%")),
position = position_stack(vjust = 0.5)) +
coord_polar(theta = "y") +
theme_void() +
scale_fill_brewer(palette="Set1") +
labs(
title = "PERÚ: POBLACIÓN PENITENCIARIA QUE PIENSA \nTRABAJAR LUEGO DE SALIR DEL ESTABLECIMIENTO \nPENITENCIARIO",
subtitle = "(Frecuencia, porcentaje)"
)
El 92.9% de la población penitenciaria piensa trabajar luego de salir del establecimiento penitenciario.
table(CNPP_data$P403_3, useNA = "alw")
##
## 0 1 <NA>
## 72120 3710 133
etiqueta_2 <- c(`0`="No",
`1`="sí")
CNPP_data$P403_3 <- as.factor(CNPP_data$P403_3)
CNPP_data |>
filter(!is.na(P403_3)) |>
mutate(P403_3 = recode_factor(P403_3,!!!etiqueta_2)) |>
count(P403_3) |>
mutate(
Porcentaje = round(n/sum(n)*100,1))|>
ggplot() +
aes(x=1, y=Porcentaje, fill=P403_3) +
geom_bar(stat="identity") +
geom_text(aes(label = paste0(n,", ",round(Porcentaje,1),"%")),
position = position_stack(vjust = 0.5)) +
coord_polar(theta = "y") +
theme_void() +
scale_fill_brewer(palette="Set1") +
labs(
title = "PERÚ: POBLACIÓN PENITENCIARIA QUE PIENSA \nVIAJAR LUEGO DE SALIR DEL ESTABLECIMIENTO \nPENITENCIARIO",
subtitle = "(Frecuencia, porcentaje)"
)
El 4.9% de la población penitenciaria piensa viajar luego de salir del establecimiento penitenciario.
table(CNPP_data$P403_4, useNA = "alw")
##
## 0 1 <NA>
## 74779 1051 133
etiqueta_2 <- c(`0`="No",
`1`="sí")
CNPP_data$P403_4 <- as.factor(CNPP_data$P403_4)
CNPP_data |>
filter(!is.na(P403_4)) |>
mutate(P403_4 = recode_factor(P403_4,!!!etiqueta_2)) |>
count(P403_4) |>
mutate(
Porcentaje = round(n/sum(n)*100,1))|>
ggplot() +
aes(x=1, y=Porcentaje, fill=P403_4) +
geom_bar(stat="identity") +
geom_text(aes(label = paste0(n,", ",round(Porcentaje,1),"%")),
position = position_stack(vjust = 0.5)) +
coord_polar(theta = "y") +
theme_void() +
scale_fill_brewer(palette="Set1") +
labs(
title = "PERÚ: POBLACIÓN PENITENCIARIA QUE PIENSA \nRETORNAR A SU PAÍS LUEGO DE SALIR DEL \nESTABLECIMIENTO PENITENCIARIO",
subtitle = "(Frecuencia, porcentaje)"
)
El 1.4% de la población penitenciaria piensa retornar a su país luego de salir del establecimiento penitenciario.
table(CNPP_data$P403_5, useNA = "alw")
##
## 0 1 <NA>
## 74376 1454 133
etiqueta_2 <- c(`0`="No",
`1`="sí")
CNPP_data$P403_5 <- as.factor(CNPP_data$P403_5)
CNPP_data |>
filter(!is.na(P403_5)) |>
mutate(P403_5 = recode_factor(P403_5,!!!etiqueta_2)) |>
count(P403_5) |>
mutate(
Porcentaje = round(n/sum(n)*100,1)) |>
ggplot() +
aes(x=1, y=Porcentaje, fill=P403_5) +
geom_bar(stat="identity") +
geom_text(aes(label = paste0(n,", ",round(Porcentaje,1),"%")),
position = position_stack(vjust = 0.5)) +
coord_polar(theta = "y") +
theme_void() +
scale_fill_brewer(palette="Set1") +
labs(
title = "PERÚ: POBLACIÓN PENITENCIARIA QUE PIENSA \nREALIZAR OTRA ACTIVIDAD LUEGO DE SALIR DEL \nESTABLECIMIENTO PENITENCIARIO",
subtitle = "(Frecuencia, porcentaje)"
)
El 1.9% de la población piensa realizar otra actividad luego de salir del establecimiento penitenciario.
Sobre los antecedentes y aspectos sociodemográficos (antes) se identificó …
Sobre el contexto del delito y situación en el establecimiento penitenciario (durante) se halló …
Sobre las expectativas al salir del establecimiento penitenciario (después) se destaca que la mayoría de la población penitenciaria considera trabajar como la principal actividad (92.9%), mientras que estudiar(13.4%), viajar (4.9%), retornar a su país (1.4%) u otra actividad (1.9%) ocupan menos interés.
Se recomienda realizar encuestas sobre el comportamiento posterior de los reos al salir del establecimiento penitenciario.
Este estudio puede servir como insumo para el análisis comparativo con el Censo de la Población Penitenciaria del año 2024.
…